home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 6 / FM Towns Free Software Collection 6.iso / t_os / vdtwn / tvf / asmhd6 / tw1hd6 / start1_n.hd6 < prev    next >
Text File  |  1993-07-08  |  6KB  |  405 lines

  1. ds_name        db    '\KOMEI\実物\TVF_PRG\START',0
  2.  
  3. paint_wd:
  4.      SET_P dt1
  5.      SET_P dt2
  6.  
  7.      SET_P dt3
  8.      SET_P dt4
  9.      SET_P dt5
  10.      SET_P dt6
  11.      SET_P dt7
  12.      SET_P dt8
  13.      SET_P dt9
  14.      SET_P dt10
  15.      WD_LEFT
  16.  
  17. re_paint:
  18. mouse_in:
  19.      ret
  20.  
  21.  
  22. be_called:
  23.  
  24.         push    0110h
  25.         pop    fs
  26.  
  27.         xor    ah,ah    ; EGB初期化
  28.  
  29.  
  30. ;        lea    edi,EGB_WORK
  31. ;        mov    ecx,1536
  32. ;        call    pword ptr fs:[EGB]
  33.  
  34.         mov    ax,0100h; 仮想画面の設定
  35.         mov    dx,9
  36.         call    zzz     ;pword ptr fs:[EG]
  37.         mov    ax,0101h
  38.         mov    dx,9
  39.         call    zzz   ;pword ptr fs:[EG]
  40.  
  41.         mov    ax,0500h; 書き込みページの設定(ページ0)
  42.         call    zzz    ;pword ptr fs:[EG]
  43.  
  44.         mov    ax,0601h; 表次頁の設定(ページ1優先)
  45.         mov    edx,11b
  46.         call    zzz   ;pword ptr fs:[EG]
  47.  
  48.         mov    ax,1B01h; ディジタイズ指定
  49.         call    zzz  ;pword ptr fs:[EG]
  50.  
  51. ;        xor    ah,ah    ; MouseBios初期化
  52. ;        lea    edi,MOUSE_WORK
  53. ;        mov    ecx,4096
  54. ;        call    pword ptr fs:[MB]
  55.  
  56.         mov    ah,7    ;水平移動範囲指定
  57.         mov    dx,0
  58.         mov    bx,180
  59.         call    MOUSE      ;pword ptr fs:[MB]
  60.         mov    ah,8    ;垂直移動範囲指定
  61.         mov    dx,0
  62.         mov    bx,120
  63.         call    MOUSE       ;pword ptr fs:[MB]
  64.  
  65.  
  66.  
  67. init_1:
  68.  
  69.      push ebp
  70.      push ds
  71.      push es
  72.         mov    ax,1Ch    ; 画面クリア
  73.         mov    ds,ax
  74.         mov    es,ax
  75.         mov    eax,10000000000000001000000000000000b
  76.         mov    edi,40000h
  77.         mov    ebx,360*2/4
  78.         mov    edx,400h-(360*2)
  79.         mov    ebp,240
  80.  
  81. ;        align    4
  82.  
  83. rep_:        mov    ecx,ebx
  84.         rep    stosd
  85.         add    edi,edx
  86.         dec    ebp
  87.         jne    rep_
  88.         mov    ax,0101h; キ-ボ-ド関係設定
  89.         int    90h
  90.  
  91.      pop es
  92.      pop ds
  93.      pop ebp
  94.  
  95. key_check:    mov    ax,0901h
  96.         int    90h
  97.         xor    dh,0FFh
  98.         je    key_check
  99.  
  100.  
  101.  
  102. key:        cmp    dl,'0' ; キ-入力判定
  103.         je    color_0
  104.         cmp    dl,31h
  105.         je    color_8
  106.         cmp    dl,32h
  107.         je    color_64
  108.         cmp    dl,33h
  109.         je    color_512
  110.         cmp    dl,34h
  111.         je    color_4096
  112. ;        cmp    dl,"5"
  113. ;        je    color_32768
  114.         cmp    dl,"6"
  115.         je    color_green
  116.         cmp    dl,"7"
  117.         je    color_red
  118.         cmp    dl,"8"
  119.         je    color_blue
  120.         cmp    dl,"9"
  121.         je    color_nega
  122.  
  123.         cmp    dl,"*"
  124.         je    color_yellow
  125.         cmp    dl,"Y"
  126.         je    color_yellow
  127.         cmp    dl,"y"
  128.         je    color_yellow
  129.  
  130.         cmp    dl,"/"
  131.         je    color_violet
  132.         cmp    dl,"V"
  133.         je    color_violet
  134.         cmp    dl,"v"
  135.         je    color_violet
  136.  
  137.         cmp    dl,"+"
  138.         je    color_skyblue
  139.         cmp    dl,"S"
  140.         je    color_skyblue
  141.         cmp    dl,"s"
  142.         je    color_skyblue
  143.  
  144.         cmp    dl,"-"
  145.         je    jmp_mosaic1
  146.         cmp    dl,"Z"
  147.         je    jmp_mosaic1
  148.         cmp    dl,"z"
  149.         je    jmp_mosaic1
  150.  
  151.         cmp    dl,"="
  152.         je    jmp_mosaic2
  153.         cmp    dl,"X"
  154.         je    jmp_mosaic2
  155.         cmp    dl,"x"
  156.         je    jmp_mosaic2
  157.  
  158.         cmp    dl,"."
  159.         je    jmp_mosaic3
  160.         cmp    dl,"C"
  161.         je    jmp_mosaic3
  162.         cmp    dl,"c"
  163.         je    jmp_mosaic3
  164.  
  165.         cmp    dl,"K"
  166.         je    jt_koma1
  167.         cmp    dl,"k"
  168.         je    jt_koma1
  169.  
  170.         cmp    dl,"L"
  171.         je    jt_koma2
  172.         cmp    dl,"l"
  173.         je    jt_koma2
  174.  
  175.         cmp    dl,"D"
  176.         je    jt_koma4
  177.         cmp    dl,"d"
  178.         je    jt_koma4
  179.  
  180.         cmp    dl,";"
  181.         je    jt_koma3
  182.  
  183.         cmp    dl,"R"
  184.         je    rever
  185.         cmp    dl,"r"
  186.         je    rever
  187.  
  188.         cmp    dl,"M"
  189.         je    monotone
  190.         cmp    dl,"m"
  191.         je    monotone
  192.  
  193.         cmp    dl,""
  194.         je    zoom_up
  195.         cmp    dl,""
  196.         je    zoom_up2
  197.         cmp    dl,""
  198.         je    zoom_up3
  199.  
  200.         cmp    dl,13    ;return_key
  201.         je    quit
  202.  
  203.          cmp dl,20h
  204.          je key_check
  205.  
  206.         jmp    init_1
  207.  
  208. ;===== Table for jump =====
  209.  
  210.  
  211. color_0:    mov eax,10000000000000000000000000000000b ;論理演算用
  212.         jmp key1
  213. color_8:
  214.      
  215.          mov eax,11000010000100001100001000010000b ;論理演算用
  216.  
  217.             jmp key1
  218.  
  219. color_64:    mov eax,11100011000110001110001100011000b ;論理演算用
  220.             jmp key1
  221.  
  222. color_512:    mov eax,11110011100111001111001110011100b ;論理演算用
  223.             jmp key1
  224.  
  225. color_4096:    mov eax,11111011110111101111101111011110b ;論理演算用
  226.             jmp key1
  227.  
  228. ;#color_32768:    mov    ebp,11111111111111111111111111111111b ;論理演算用
  229. ;        jmp    draw_main1
  230. color_green:    mov eax,11111100000000001111110000000000b ;論理演算用
  231.             jmp key1
  232.  
  233. color_red:    mov eax,10000011111000001000001111100000b ;論理演算用
  234.             jmp key1
  235.  
  236. color_blue:    mov eax,10000000000111111000000000011111b ;論理演算用
  237.             jmp key1
  238.  
  239. color_yellow:    mov eax,11111111111000001111111111100000b ;論理演算用
  240.             jmp key1
  241.  
  242. color_violet:    mov eax,10000011111111111000001111111111b ;論理演算用
  243.             jmp key1
  244.  
  245. color_skyblue:    mov eax,11111100000111111111110000011111b ;論理演算用
  246.             jmp key1
  247.  
  248. color_nega:    mov eax,01111111111111110111111111111111b ;論理演算用
  249.             jmp key2
  250.  
  251. jt_koma1:    mov eax,2
  252.             jmp key3
  253.  
  254. jt_koma2:    mov eax,6
  255.           jmp key3
  256.  
  257.  
  258. jt_koma3:    mov eax,12
  259. key3:
  260.        KAKU 300,eax
  261.        CALL_P dt3
  262.        jmp key
  263. jt_koma4:
  264.      CALL_P dt10
  265.      jmp key
  266.  
  267. jmp_mosaic1:    mov    bx,1919h
  268.             jmp key4
  269.  
  270. jmp_mosaic2:    mov    bx,5F5Fh
  271.             jmp key4
  272.  
  273. jmp_mosaic3:    mov    bx,0FFFFh
  274. key4:            KAKU 300,bx
  275.          CALL_P dt4
  276.             jmp key
  277.  
  278. monotone:
  279.          CALL_P dt5
  280.             jmp key
  281.  
  282. zoom_up:
  283.          CALL_P dt6
  284.             jmp key
  285.  
  286. zoom_up2:
  287.          CALL_P dt7
  288.             jmp key
  289.  
  290. zoom_up3:
  291.          CALL_P dt8
  292.             jmp key
  293. rever:
  294.          CALL_P dt9
  295.             jmp key
  296.  
  297. quit:
  298.         mov    ax,0100h    ;ディジタイズOFF
  299.         call    zzz
  300.  
  301. ;        mov    ax,0100h
  302. ;        mov    dx,1
  303. ;        call    zzz        ;pword ptr fs:[EGB]
  304. ;        mov    ax,0101h
  305. ;        mov    dx,1
  306. ;        call    zzz         ;pword ptr fs:[EGB]
  307.  
  308. ;        mov    eax,0
  309. ;        mov    edi,0
  310. ;        mov    ecx,400h*256*2/4
  311. ;        rep    stosd
  312.  
  313. ;        mov    eax,0
  314. ;        mov    edi,40000h
  315. ;        mov    ecx,400h*256*2/4
  316. ;        rep    stosd
  317.  
  318. ;        mov    ah,1
  319. ;        call    zzz           ;pword ptr fs:[MB]
  320.  
  321. ;        mov    ax,0100h    ; キーボード関係設定
  322. ;        int    90h
  323.  
  324. ;        mov    ax,4C00h
  325. ;        int    21h
  326.  
  327.         ret
  328. zzz:
  329.      M_ZZZ
  330.  
  331. key1:
  332.      KAKU 300,eax
  333.      CALL_P dt1
  334.      jmp key
  335. key2:
  336.      KAKU 300,eax
  337.      CALL_P dt2
  338.      jmp key
  339.  
  340. dt1:
  341.      call sub_edi
  342.      dw   ?
  343.      db 'MAIN1',0
  344. dt2:
  345.      call sub_edi
  346.      dw ?
  347.      db 'D_MAIN2',0
  348.  
  349. dt3:
  350.      call sub_edi
  351.      dw ?
  352.      db 'KOMA',0
  353.  
  354. dt4:
  355.      call sub_edi
  356.      dw    ?
  357.      db 'MOSAIC',0
  358. dt5:
  359.      call sub_edi
  360.      dw    ?
  361.      db 'MONO',0
  362.  
  363.  
  364. dt6:
  365.      call sub_edi
  366.      dw    ?
  367.      db 'ZOOM',0
  368.  
  369.  
  370. dt7:
  371.      call sub_edi
  372.      dw ?
  373.      db 'ZOOM2',0
  374. dt8:
  375.      call sub_edi
  376.      dw ?
  377.      db 'ZOOM3',0
  378.  
  379. dt9:
  380.      call sub_edi
  381.      dw ?
  382.      db 'REVERSE',0
  383. dt10:
  384.      call sub_edi
  385.      dw ?
  386.      db 'D_KOMA',0
  387.  
  388.  
  389. look_me:
  390.      call sub_esi
  391.      dd 0,0
  392.      dw     1,0,20,40,0,0,0,0,0,0
  393.  
  394.  
  395. p_set:
  396.      M_P_SET
  397. p_call:
  398.      M_P_CALL
  399.  
  400. EG        equ    0020h
  401. MB        equ    0040h
  402. MSR        equ    0048h
  403.  
  404.  
  405.